package org.teachertools.web.forms;

import org.teachertools.common.ValidationUtils;
import org.teachertools.data.Categorie;
import org.teachertools.data.Matiere;

public class MatiereFormMapping {

    public static Matiere mappingFormToDTO(MatiereForm matiereForm) {
        return mappingFormToDTO(matiereForm, new Matiere());
    }

    public static Matiere mappingFormToDTO(MatiereForm matiereForm, Matiere matiere) {

        if (ValidationUtils.isNotEmpty(matiereForm.getId())) {
            matiere.setId(matiereForm.getId());
        }

        if (ValidationUtils.isNotEmpty(matiereForm.getNom())) {
            matiere.setNom(matiereForm.getNom());
        }

        if (ValidationUtils.isNotEmpty(matiereForm.getIdCategorie())) {
            Categorie cat = new Categorie();
            cat.setId(matiereForm.getIdCategorie());
            matiere.setCategorie(cat);
        }
        return matiere;
    }

    public static MatiereForm mappingDTOToForm(Matiere matiere) {
        MatiereForm matiereForm = new MatiereForm();
        mappingDTOToForm(matiere, matiereForm);
        return matiereForm;
    }

    public static void mappingDTOToForm(Matiere matiere, MatiereForm matiereForm) {
        matiereForm.reset();

        if (ValidationUtils.isNotEmpty(matiere.getNom())) {
            matiereForm.setNom(matiere.getNom());
        }
        if (ValidationUtils.isNotEmpty(matiere.getId())) {
            matiereForm.setId(matiere.getId());
        }
        if (ValidationUtils.isNotEmpty(matiere.getCategorie())) {
            matiereForm.setIdCategorie(matiere.getCategorie().getId());
        }
    }
}
